Skip to content

[pull] master from supabase:master#1081

Merged
pull[bot] merged 23 commits into
code:masterfrom
supabase:master
Jul 15, 2026
Merged

[pull] master from supabase:master#1081
pull[bot] merged 23 commits into
code:masterfrom
supabase:master

Conversation

@pull

@pull pull Bot commented Jul 15, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

jordienr and others added 23 commits July 15, 2026 12:24
…-3912 (#47910)

## Problem

In the unified logs dashboard, clicking an activity bar in the chart
restarted the fly-by entrance animation instead of selecting that bar.
There was also no way to select a single bar by clicking it (only
drag-to-select worked), and the selection menu was centered over the
selection rather than anchored to its start.

## Fix

- Disabled Recharts' `isAnimationActive` on the stacked `Bar` elements
so re-renders from selection state no longer replay the entrance
animation.
- Clicking a single bar now selects that bar's full time bucket and
opens the "Filter logs to selected range" menu, the same as dragging
across it.
- The menu is anchored to the start (leftmost pixel) of the selection
instead of the mouse release position.

## How to test

- Open a project's unified logs page
- Wait for the activity chart to finish its initial load
- Click on a single bar
- Expected result: the bar is highlighted, the chart does not replay its
entrance animation, and the range-filter menu appears anchored at the
start of that bar
- Drag across multiple bars
- Expected result: the range-filter menu appears anchored at the start
of the dragged selection, not centered over it

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Fixed chart highlight popovers to anchor consistently to the start of
the selected range.
- Improved popover behavior so it updates correctly when the position
changes.
- Corrected zoom-in filtering when the selected range contains a single
timestamp.
- **UI Improvements**
- Reduced conflicts between tooltips and selection popovers by rendering
tooltip content only when appropriate.
- Disabled stacked-bar animations for error/warning/success to make
chart interactions feel steadier.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary
Removes two pieces of dead telemetry code found while root-causing the
docs pageview re-fire investigation (GROWTH-997, closed with no fix
needed). Pure deletion, 30 lines, no behavior change.

## Changes
- Delete `apps/www/app/ConsentWrapper.tsx`: an unwired third
`PageTelemetry` mount. www already mounts `PageTelemetry` in
`pages/_app.tsx` (Pages Router) and `app/providers.tsx` (App Router);
nothing imports this wrapper.
- Remove the exported `POSTHOG_URL` constant from
`apps/studio/lib/constants/index.ts`: zero consumers. The CSP allowlist
in `apps/studio/csp.ts` defines and uses its own local `POSTHOG_URL`,
which stays.

## Testing
Deadness verified before deletion, on current master:
- [x] Repo-wide grep for `ConsentWrapper`: only self-references inside
the deleted file
- [x] Repo-wide grep for `POSTHOG_URL`: remaining references are the
`csp.ts` local const only

## Linear
- fixes GROWTH-1002


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Removed an obsolete consent-related page wrapper to streamline page
behavior.
* Updated application configuration handling without changing existing
payment or usage settings.

* **Refactor**
* Simplified internal configuration and page composition while
preserving the existing user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Info architecture change around "Partners"

The www "integrations" now become more partner-driven.
`/partners/integrations` -> now Partner Catalog under
`/partners/catalog` (old links redirect to new paths)

Moved them close together in the nav dropdown and in the footer
<img width="494" height="336" alt="Screenshot 2026-07-09 at 11 06 41"
src="https://github.com/user-attachments/assets/a875fef0-0ab8-47ca-8756-d658b27c4892"
/>
<img width="1149" height="665" alt="Screenshot 2026-07-09 at 11 09 48"
src="https://github.com/user-attachments/assets/9631bb72-fe25-4fb4-b1af-9f14a37d02e7"
/>

## /partners 

This page remains untouched in this PR, updates to layout, content and
intake form are delegated to #47874

## /partners/catalog

Listed in the
[catalog](https://zone-www-dot-com-git-feat-www-partners-pages-supabase.vercel.app/partners/catalog)
are now partners. Some partners match with a listing.

<img width="1207" height="866" alt="Screenshot 2026-07-09 at 11 14 17"
src="https://github.com/user-attachments/assets/b65216be-976f-4ef5-91f8-1ad49da87b45"
/>

## /partners/catalog/[partner]

Each partner can have one or more "listings" which are either 
- simple guides
- foreign data wrappers
- dashboard integrations

Integrations available in the dashboard now all have a prominent
"Install integration" cta to open it in the dashboard [integrations
page](https://supabase.com/dashboard/project/_/integrations).

<img width="1269" height="776" alt="Screenshot 2026-07-09 at 11 16 51"
src="https://github.com/user-attachments/assets/3c7bb715-ffce-4d0a-905f-9a660c3b1f5a"
/>

## Docs

Update docs →
[Preview](https://docs-git-feat-www-partners-pages-supabase.vercel.app/docs/guides/integrations)
- remove "Supabase marketplace"
- use "Dashboard Integrations and Partner Catalog
- update integrations in sidenav to link to updated /partners/catalog/**
listings

<img width="1520" height="696" alt="Screenshot 2026-07-15 at 12 54 47"
src="https://github.com/user-attachments/assets/9f5a2794-4536-4299-97df-9732d3d75b4c"
/>

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a Partner Catalog experience with search, category filters,
official-partner toggle, responsive filtering (sidebar + bottom sheet),
grid/list views, and featured partners.
* Added Partner Catalog detail pages with tabbed listings, MDX-rendered
content, image gallery with zoom overlay, and “add/install” actions.
* **Improvements**
* Updated “Become a Partner” layout and form support for prefilled
values and checkbox-group fields (including validation).
* Updated navigation/footer/docs and partner tile links to use Partner
Catalog routes; expanded redirects from legacy integrations paths.
  * Added public agent-skills discovery manifest.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Alan Daniel <stylesshjs@gmail.com>
Co-authored-by: Alex Hall <alex.hall@supabase.io>
Co-authored-by: Miranda Limonczenko <miranda.limonczenko@supabase.io>
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

We had a rouge `pb-0` on the projects list eliminating the bottom
padding when the list/scroll is long enough.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Improved spacing beneath the Projects page content for a more balanced
layout.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
#47953)

The "Only" button in the Unified Logs filter facets had no background,
so it overlapped the label/count behind it on hover. Added a solid
`bg-background`, set the label to 10px, and capitalized it to "Only".
Applied to both the sync and async filter checkbox components.

## Before / After
Button now sits on an opaque background and no longer bleeds into the
row below.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Style**
* Improved checkbox filter hover interactions by hiding count markers
when hovering over an option.
* Updated the “Only” control styling for clearer visibility, alignment,
and hover behavior.
  * Capitalized the control label to “Only” for improved readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
…#47881)

## What

Concludes the `upgradeCtaPlacement` experiment
([#45858](#45858)) by shipping
**both** placements permanently and removing the A/B scaffolding.

The experiment tested two upgrade-CTA placements against a control:
- **`user_dropdown`** — an "Upgrade to Pro" button in the account/user
dropdown
- **`org_projects_list`** — a plan-usage card in the org project list

Both moved paid conversion in the same direction over control with no
activation downside, and they live on separate surfaces, so we're
keeping both rather than picking one.

## Changes

- **Remove the experiment machinery.** Deleted `useUpgradeCtaExperiment`
(PostHog `upgradeCtaPlacement` flag read, `control` arm, variant
selection, per-org localStorage seeding, exposure tracking) and replaced
it with a small `useShowUpgradeCta` hook that gates purely on **free
plan + hosted platform**. Both placements now render for every eligible
free-plan org.
- **Telemetry cleanup.** Removed the
`upgrade_cta_placement_experiment_exposed` event (pure experiment
scaffolding). Kept `upgrade_cta_clicked` (with its `placement` property)
so we can still measure the CTAs going forward; de-experimented its
wording.
- **Dead code.** Removed the unused `prependCard` prop plumbing added to
`ProjectList` / `EmptyStates` (no caller ever passed it — the org card
renders via the `<aside>`).
- De-experimented the remaining doc comments in `PlanUsageCard`.

Gating is unchanged in spirit: paid orgs and self-hosted never see the
CTA. `useShowUpgradeCta` waits until the org plan is known before
returning true, so the CTA fades in for free users and never flashes for
paid users.

## Testing

- `pnpm --filter common typecheck` and `pnpm --filter studio typecheck`
pass.
- eslint + prettier clean on the changed files.
- Manually checked


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Upgrade/usage CTAs now appear only when the organization is confirmed
to be on a free plan, avoiding premature rendering before plan data is
available.
- Upgrade CTA visibility is now consistently driven across supported
project and organization surfaces (including the user dropdown) for
org-scoped routes.

- **Bug Fixes**
- Removed obsolete “prepend” placeholders from the project list loading
and grid views to keep card layouts consistent.

- **Documentation**
- Clarified upgrade CTA telemetry wording and adjusted the frontend
telemetry contract.

- **Tests**
- Added coverage for upgrade-CTA visibility behavior across key
scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## What

Unified Logs fires several `logs.all.otel` requests on load (row list,
chart, sidebar facet counts, single-facet counts) plus inspection
queries, all with no identifier — indistinguishable in the network tab.

Adds a leading `-- unified logs: <what>` SQL comment to each query
builder so each request is identifiable at a glance:

- row list
- severity chart (with bucket function)
- sidebar facet counts
- single-facet counts (with facet name)
- inspect single log by id
- edge function console logs for execution

## Notes

`--` comments run to end of line; queries are sent multi-line, so the
comment doesn't swallow the SQL.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Diagnostics**
* Added descriptive labels to generated log queries, making SQL
statements easier to identify in logs and diagnostics.
* Added labels for unified log listings, facet counts, sidebar counts,
severity charts, individual log inspections, and related console logs.
* **Bug Fixes**
* No changes to filtering, grouping, query results, or log retrieval
behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## What

Disable the Unified Logs feature on self-hosted Studio
(`IS_PLATFORM=false`), where there is no backend to support it.

Fixes [FE-3747](https://linear.app/supabase/issue/FE-3747).

## Why

Unified logs is platform-only. A provider-level guard already forces the
`isPlatformOnly` preview flag off on self-hosted, but two gaps let the
feature still surface:

1. The logs sidebar renders `<UnifiedLogsBanner />` unconditionally, so
self-hosted users saw an **"Enable preview"** button. Clicking it wrote
the preview flag to local storage and routed to `/logs`, transiently
rendering the unified logs UI.
2. `useUnifiedLogsPreview` derived `isDefaultOptIn` purely from the
`unifiedLogsDefaultOptIn` feature flag, with no platform check.

## Changes

- `UnifiedLogsBanner` returns `null` when `!IS_PLATFORM`, removing the
only entry point to enable the preview on self-hosted.
- `useUnifiedLogsPreview` gates both `isEnabled` and `isDefaultOptIn` on
`IS_PLATFORM`, making the hook authoritative so no flag/local-storage
state can enable unified logs on self-hosted.

## Tests

- `FeaturePreviewContext.selfhosted.test.tsx` — the hook never reports
unified logs as enabled or default-opt-in on self-hosted, even with the
feature flags on.
- `UnifiedLogsBanner.selfhosted.test.tsx` — the banner renders nothing
on self-hosted.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Restricted Unified Logs preview and banner availability to supported
platform environments.
* Prevented unsupported environments from displaying the Unified Logs
banner or opting in by default.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Class name was bodged on `InfoIcon`. It was
`text-background-surface-200`, think after recent update it should be
`text-background-200`.

| Before | After |
|--------|--------|
| <img width="371" height="67" alt="Screenshot 2026-07-14 at 16 46 42"
src="https://github.com/user-attachments/assets/813ef5c8-98d1-4889-99b3-8bd885a48139"
/> | <img width="366" height="64" alt="Screenshot 2026-07-14 at 16 47
53"
src="https://github.com/user-attachments/assets/e76c120a-70c8-451a-a7a9-48814978cfd3"
/> |


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Style**
* Updated the Info icon’s background-visible styling to use the correct
background color for improved visual consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## What kind of change does this PR introduce?

Restore preview image on ExpandableVideo trigger component.

## What is the current behavior?
<img width="1441" height="698" alt="Screenshot 2026-07-15 at 14 08 58"
src="https://github.com/user-attachments/assets/bdb1c4be-71a9-4601-b5c9-ab4fc97c48d1"
/>

<img width="1273" height="701" alt="Screenshot 2026-07-15 at 14 09 05"
src="https://github.com/user-attachments/assets/b8026bcc-3d43-4faa-873b-1745b32c166c"
/>

## What is the new behavior?
<img width="1434" height="678" alt="Screenshot 2026-07-15 at 14 08 53"
src="https://github.com/user-attachments/assets/8a3e64d1-5fe7-4ab9-a71b-3de5808d28b9"
/>

<img width="1160" height="672" alt="Screenshot 2026-07-15 at 14 08 48"
src="https://github.com/user-attachments/assets/db598a47-ed8e-435b-b3ef-8ae9e76761a2"
/>

---

Also fixed a border-b issue on the PartnerCatalogDetail.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
  - Added thumbnail previews for partner catalog YouTube videos.
- Improved video preview presentation with clearer overlays and stronger
image blur.

- **Bug Fixes**
  - Updated image loading support for YouTube thumbnail URLs.
  - Refined sticky tab header spacing and alignment while scrolling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…s 20MB local) (#47941)

<!-- ccr-slack-attribution -->
_Requested by **Lakshan Perera** · [Slack
thread](https://supabase.slack.com/archives/C023E4L60R3/p1784055775538959?thread_ts=1784055775.538959&cid=C023E4L60R3)_

## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Docs update.

## What is the current behavior?

Both the "Edge Function bundle size issues" troubleshooting page and the
Edge Functions "Limits" page stated only a single **20 MB** limit. In
practice, that 20 MB figure applies only to **local bundling** with the
Supabase CLI. When a function is deployed via the **Management API or
Dashboard**, bundling runs server-side and is capped at **5 MB** due to
an infrastructure (Lambda) limit. Customers deploying that way were
surprised to hit an error like `Function source code exceeds the maximum
deployment size (5 MB). Reduce the size of your function and try again.`
even though the docs implied 20 MB was available.

## What is the new behavior?

Both pages now state the distinction explicitly:

- **Local bundling (Supabase CLI):** up to **20 MB**.
- **Server-side bundling (Management API or Dashboard):** up to **5
MB**.

The troubleshooting page also adds a "Deploying larger functions"
section pointing customers at the workaround: if a function is under 20
MB but over the 5 MB server-side limit, bundle it locally by running
`supabase functions deploy` with the `--use-docker` flag to force local
bundling and get the higher limit.

## Additional context

**How / files changed:**

-
`apps/docs/content/troubleshooting/edge-function-bundle-size-issues.mdx`
— rewrote the intro to describe both limits, added the "Deploying larger
functions" workaround section, and fixed the frontmatter `keywords`
(replaced `"10MB"` with `"5MB"` and `"20MB"`).
- `apps/docs/content/guides/functions/limits.mdx` — updated the "Maximum
Function Size" line to list both the 20 MB local and 5 MB server-side
limits.

Before, both pages said only 20 MB, so customers deploying via the
API/Dashboard were surprised by a 5 MB error; after, both pages state
the 5 MB server-side vs 20 MB local distinction and point to local
bundling as the workaround.

---
_Generated by [Claude
Code](https://claude.ai/code/session_019bBXmQTRBWJbo3UTpfjPLU)_

Co-authored-by: Claude <noreply@anthropic.com>
…47960)

Adds a contract test that runs `createProjectSupabaseClient()` against
the real `@supabase/supabase-js` for each Supabase API key format
(temporary, publishable, secret, legacy JWT), asserting that client
construction succeeds. Also replaces the placeholder key fixtures in the
existing unit tests with realistically shaped ones. Previously the tests
mocked the SDK entirely and used keys that don't resemble real formats,
so an SDK version that rejects a valid key at construction (as
`@supabase/supabase-js` 2.110.4 and 2.110.5 did, reverted in #47945 and
fixed in supabase/supabase-js#2526) passed CI unnoticed; with this test,
such a regression fails on the dependency bump PR itself.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Tests**
* Added coverage confirming project clients work with temporary,
publishable, secret, and legacy API key formats.
  * Updated test scenarios to use realistic temporary API key values.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<img width="1033" height="861" alt="image"
src="https://github.com/user-attachments/assets/54a104df-1db9-4b97-89db-6eec671b3af7"
/>

Removes the above AI Skills page from our ui library and instead
redirects to the more up to date ai skills docs page.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a direct “Install Skills” link to the AI Skills documentation
guide.
* Added a permanent redirect from the legacy prompts URL to the new AI
Skills guide.

* **Documentation**
* Updated the docs side navigation to list component pages under
“Blocks”.
* Removed the AI Skills page content and its navigation/search entries.
* Removed the AI editor rules documentation/registry entries, so they no
longer appear in the generated documentation set.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Small UI fix to stop things bundling into each other on smaller
viewports. Autoscaling marker moves from bottom to top to preserve
structural integrity.

| Before | After |
|--------|--------|
| <img width="698" height="246" alt="Screenshot 2026-07-15 at 11 28 07"
src="https://github.com/user-attachments/assets/9bbb1bb1-a361-4658-9757-30e012098d0c"
/> | <img width="687" height="252" alt="Screenshot 2026-07-15 at 11 28
15"
src="https://github.com/user-attachments/assets/ca6b6c0a-b511-4136-835f-4321a30765b8"
/> |



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Fixed the Autoscaling tooltip placement on the disk space bar so it
consistently appears in the correct spot.
* Updated the tooltip trigger to use an info icon with a static
positioned tooltip, removing the previous animated trigger behavior
while preserving existing tooltip content and visibility rules.
* Improved tooltip/marker positioning accuracy by recalculating the
horizontal placement from the independently-rounded usage segments to
prevent drift.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## What kind of change does this PR introduce?

Bug fix + small shared component

## What is the current behavior?

After the recent colour system changes, several UI elements lost
contrast in light mode:

- `InfoIcon` with a background appeared as a flat grey circle (glyph
fill matched the background)
- Several buttons forced `text-white`, which no longer contrasts
correctly against the updated brand fills
- Selected / completed check badges were inconsistent between call sites

## What is the new behavior?

- `InfoIcon` uses `text-background` for the glyph fill so the "i" is
visible against the grey circle
- www primary buttons drop hardcoded `text-white` and use standard
`Button` colours
- New shared `SuccessCheck` in `ui` for selected state and completion
progress (green circle; white check in light mode, black check in dark
mode)
- Documented in the design system with selected + progress examples

Note on `InfoIcon`:
[#47933](#47933) landed a
related fix using `text-background-200` (`--card`). This PR keeps
`text-background` instead, to match `CheckIcon` / `EyeOffIcon` in the
same file and avoid the legacy alias.

| Before | After |
| --- | --- |
| <img width="688" height="268" alt="CleanShot 2026-07-10 at 11 30
25@2x"
src="https://github.com/user-attachments/assets/c0276b0c-1023-46c8-805c-35a22def1353"
/> | <img width="664" height="278" alt="CleanShot 2026-07-10 at 11 29
43@2x"
src="https://github.com/user-attachments/assets/3508cf37-1b48-4fb7-a939-83522feb44f1"
/> |
| <img width="468" height="550" alt="CleanShot 2026-07-10 at 11 31
04@2x"
src="https://github.com/user-attachments/assets/acd42273-15ce-4fb2-9d0c-5a43ac23073c"
/> | <img width="460" height="540" alt="CleanShot 2026-07-10 at 11 32
50@2x"
src="https://github.com/user-attachments/assets/f66fb4bc-81f7-4df1-95f5-63980c4e8537"
/> |

## To test

Use the staging preview link from this PR and check the following in
**light mode** (and spot-check dark mode):

**www**
- Visit `/404` — "Head back" button should have readable text (not
white-on-green)
- Visit `/company` — "Join the team" button in the Team section
- Visit a product page with a hero CTA (e.g. `/database`, `/realtime`) —
primary "Start for free" button

**studio**
- Database → Replication → deploy a read replica — footer `InfoIcon`
next to the pricing line should show a visible "i" inside the grey
circle
- `/redeem` — select an org; green `SuccessCheck` should match
light/dark contrast (white check / black check)
- Settings → API → service role key row — red "secret" tag text should
be readable

**design system**
- `/docs/components/success-check` — demo, selected-state, and progress
examples
## What kind of change does this PR introduce?

Bug fix

## What is the current behavior?

After the colour system migration, `Badge` success and warning variants
use semantic `text-brand` / `text-warning` (and soft `border-brand` /
`border-warning` tokens). In light mode those fills sit around mid–high
lightness, so the badges look flat and the text is hard to read.

Call sites that never migrated — e.g. Compute badges (`SMALL`) and table
constraint tokens (`PRIMARY`) — still use the darker scale tokens and
look fine.

## What is the new behavior?

Success and warning badges again use the darker scale tokens, matching
those working call sites:

- success: `text-brand-600` + `border-brand-500`
- warning: `text-warning-600` + `border-warning-500`

| Before | After |
| --- | --- |
| <img width="791" height="288" alt="Tables Database Chisel Toolshed
Supabase"
src="https://github.com/user-attachments/assets/99659555-bf78-42d7-af93-415cdc8e858c"
/> | <img width="791" height="288" alt="82859"
src="https://github.com/user-attachments/assets/368d4a8e-d7cf-4bf6-b896-89f29eca982d"
/> |

## To test

On the staging preview in **light mode**:

- Any `Badge variant="success"` — e.g. “New”, “Enabled”, “Healthy”,
branch badges
- Any `Badge variant="warning"` — e.g. beta / warning status badges
- Compare with Compute size badges and Database → Tables → Columns →
Constraints (`PRIMARY`) — contrast should now feel similar

Spot-check **dark mode** to confirm badges still look correct.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Updated warning and success badges with refined text and border colors
for improved visual consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…47961)

## Summary
- Adds the Vercel [`plugins`](https://www.npmjs.com/package/plugins) npm
package as the default, single-command install option (`npx plugins add
supabase-community/supabase-plugin`) on the Supabase AI coding agent
plugin docs page.
- Keeps the existing per-agent manual installation instructions
available below, as an alternative.

Closes AI-929.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
  * Added a quick-install option for the plugin using a single command.
  * Documented the `--yes` flag for skipping the confirmation prompt.
* Updated the manual installation guidance to follow the new
quick-install instructions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
…47954)

## Context

Supports maximising the AI assistant to fit the content width which will
provide a larger workspace for observability work for example

<img width="424" height="179" alt="image"
src="https://github.com/user-attachments/assets/f2b84571-0188-4d94-9798-a289496ab543"
/>

<img width="1388" height="960" alt="image"
src="https://github.com/user-attachments/assets/07f52b1f-7b95-4d67-9a5c-151ef036fc7c"
/>


## To test
- [ ] Can maximize/minimize AI Assistant
- [ ] Swapping to another sidebar should bring the panel size back to
previous
  - Only the AI Assistant can be maximized (for now at least)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Added maximize/minimize controls for the AI assistant panel.
* Added a keyboard shortcut to quickly maximize the assistant (hidden
from settings).

* **Improvements**
* The main content panel now collapses/resizes automatically based on
assistant maximization.
* Switching away from the AI assistant now automatically exits maximized
mode; returning restores the maximized experience.
* Updated the assistant header UI with dynamic label/icon/accessibility
and a maximize shortcut when chat isn’t loading.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

UI polish

## What is the current behavior?

`--chart-success` mixes `foreground-muted` with white in both themes.
That softens light mode, but brightens dark mode so OK/success segments
(and the Level key/dots) read too stark.

## What is the new behavior?

- Light: a bit softer (`50%` muted + white)
- Dark: mixes toward `--background` instead of white so the fill is
clearly softer

| Before | After |
| --- | --- |
| <img width="1728" height="997" alt="Unified Logs Agua Basket Supabase"
src="https://github.com/user-attachments/assets/c9927079-34f7-41c3-99ff-7ad7b701ac20"
/> | <img width="1728" height="997" alt="Unified Logs Agua Basket
Supabase"
src="https://github.com/user-attachments/assets/e35e6c62-63bd-4974-aa36-4686e7b9f9e2"
/> |
| <img width="1728" height="997" alt="Unified Logs Agua Basket Supabase"
src="https://github.com/user-attachments/assets/7c4bd3c4-739d-4fd4-bf65-b954d1df3270"
/> | <img width="1728" height="997" alt="Unified Logs Agua Basket
Supabase"
src="https://github.com/user-attachments/assets/6b59d4f0-32f8-4cb7-b0be-6036589a364a"
/> |

Covers the unified logs chart, Level sidebar key, and row dots via the
shared token.

## Additional context

Follow-up to #47829.
## Context

Applies a max width for the AI Assistant content area while maximised to
improve reading UX
<img width="1390" height="958" alt="image"
src="https://github.com/user-attachments/assets/296c394d-6bcf-4b0f-b147-ca0253dfa724"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Style**
* Improved AI Assistant conversation layout by centering content and
limiting its maximum width for easier reading.
* Updated support-chat spacing and alignment for a more consistent
visual flow.
* Refined onboarding content sizing and positioning to improve
readability across screen sizes.
* Preserved existing chat input behavior while simplifying its styling
configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@pull pull Bot locked and limited conversation to collaborators Jul 15, 2026
@pull pull Bot added the ⤵️ pull label Jul 15, 2026
@pull
pull Bot merged commit 5d0043f into code:master Jul 15, 2026
2 of 18 checks passed
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jul 16, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.